The following relates to compilers which construct diagnostic system models which are used to describe, simulate and diagnose complex systems.
Many aspects of design, manufacturing, quality control, operation, and repair of complex systems can be automated if a detailed, machine interpretable model of the system behavior is provided. For example, given a diagnostic model of a printing system, the effect of a component failure can be propagated through the system in simulation and compared to actual observations to diagnosis internal problems. In a printing system, the main observable is the resulting printed page. If the system operates normally, the observed printed page reflects the intended output based on the input. However, if a component fails or is damaged, (e.g., a scratched drum) then the printed page will include an observable difference in the output such as a line streak across the page. Different types of failures result in different kinds of observable output. In the printing system example, a scratch on the drum changes the polarity of the electric field in a narrow region of the drum. The change of polarity causes a spurious sharp-edged dark narrow line on the printed page.
In many systems, determining how the component failed helps determine the source or root cause of the failure, and determining the source of the failure provides opportunities for companies to improve or change the component. Identifying possible system component failures together with knowledge of component costs and/or difficulty of repair can improve servicing of such systems. In the printing system example, normal wear to the drum can also change the polarity, and the change in polarity will typically be to a general surface area. In the printed output the area processed with the changed polarity area on the drum will be viewed with an absence of toner or color over a large region with softer edges. In both the previous examples, the system user is left with printed pages which cannot be used. However, for a supplier of the printing system, knowing whether a drum is scratched due to outside contaminants or from normal wear helps determine an appropriate response. At the very least, a model that identifies a specific component failure to be repaired or replaced provides servicing information. Where there are multiple possible component failures, diagnostic models can provide information to prioritize servicing and/or cost reduction of servicing. In complex systems, the type of failure and the components involved in the failure can provide improved development, manufacturing, supply and/or servicing of such systems.
A generic inference mechanism can use a diagnostic model of a system with components such as a printing system with drums, belts, chargers, etc. to infer diagnostic faults of the system components. The diagnostic model of the system specifies how instances of these components are connected to compute the system response to any change in the properties of a component. For example, an image with specified colors sent to a printing system is processed by pre-determined or possible components of the printing system before outputted to a printed page. The diagnostic model infers from observed output from the system which reflects usage and/or properties of components, diagnostic faults of the system components. For example, problems observed in the printed output such as lines of missing printed color in the image, areas of missing printed color in the image, etc. can infer a scratch or worn area of the drum component.
Constructing diagnostic system models is time consuming and error prone. In many systems, there are many components with slight variations or perhaps many identical components connected according to some sort of regular pattern of variations. For example, a color printing system includes adding variations of components which are separated by the individual colors. A color printer requires one toner developer unit per color separation or each color used. The toner developers are likely similar with slight or no variation except that they are tracked separately and colors can be observed separately or combined in the printed output. A fault in the cyan developer will typically affect the cyan separation in the output but not the red separation. A printed output with the color cyan will show a problem while a printed output with the color red will not show a problem to the operator of the system. However, a printed output which combines both will be observed by the operator of the system as a defect, who may only be able to distinguish that a defect has occurred. A single component may also have effects in multiple areas. In the case of the fuser, there is only one fuser for all colors, and defects in the fuser affect all color separations. A printed output of any color will show a problem to the operator of the system. Other examples of components with variations in a printing system include media input trays which vary in capacity and paper weight handling capabilities or similar finishing units with different positions designed to collate individual reports. With large numbers of components and many possible points of failure, the diagnostic model can be very large and difficult to manage and maintain.